██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Xojo
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbaXojo è un mwbqIDE ed un mwbglinguaggio di programmazione basato su un dialetto mwbwBASIC mwcaorientato agli oggetti, sviluppato e commercializzato da Xojo, azienda con sede ad mwcqAustin (Texas), per mwcgmacOS, mwcwMicrosoft Windows, mwdaLinux, mwdqRaspberry Pi, mwdgiOS e web.
Contents
• Storia
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Storia
REALbasic è stato creato da Andrew Barry. Il nome originariamente era CrossBasic, per sottolineare la sua capacità di compilare lo stesso codice di programmazione per Mac OS e mwegJava (anche se l'mwewambiente di sviluppo integrato era solo Mac). Nel mwfa1997 CrossBasic fu acquistato da FYI Software, che cambiò il suo nome in REALbasic e il nome dell'azienda stessa in REAL Software. Fu in questo periodo che venne abbandonato il target Java e furono aggiunti il target Windows ed il supporto database. L'mwfqIDE è ora disponibile per mwfgMicrosoft Windows, mwfwmacOS, e mwgaLinux 32-bit x86 e può compilare applicazioni per Windows (mwgqWindows 2000 e superiore), Mac OS X (mwggPowerPC, mwgwIntel, e Universal Binary) e Linux 32-bit mwhqx86. In aprile 2009 è uscito il nuovo IDE, mwhgRealStudio, che permette di creare anche mwhwapplicazioni web.
Da giugno 2013, la società ha cambiato nome in mwiqXojo, Inc ed il nome del linguaggio di programmazione è stato cambiato in mwigXojo. Offre una serie di nuove funzionalità ed è distribuito con una nuova politica di licenze.
Caratteristiche del linguaggio
Anche se il nome originale del linguaggio di programmazione includeva la parola "basic", il linguaggio di programmazione non segue lo standard ANSI per il linguaggio di programmazione BASIC. Ad esempio, il mwjqcodice sorgente ANSI Standard di semplici programmi demo in TrueBASIC non compilerà senza una riscrittura completa. Xojo non supporta l'operatore standard mwjgmat che rende ANSI BASIC uno strumento utile per l'insegnamento di concetti di programmazione introduttivi. Xojo è un linguaggio fortemente tipizzato con una conversione automatica di tipo ridotta al minimo, che supporta ereditarietà singola e mwjwinterfacce, mwkametodi e proprietà di mwkqclasse, gestione della memoria automatica tramite il conteggio dei riferimenti, e il sovraccarico degli operatori. Una funzione importante è la capacità di estendere (non solo mwkgereditare) classi esistenti, come le categorie Objective-C. Questa particolarità riduce considerevolmente il bisogno di mwlaAbstract factory pattern, che complicano l'uso di Framework applicativi in mwlqJava e mwlgC++. Xojo include anche la funzione delegate, l'introspezione, e il supporto a mwmqnamespace, che consentono ai moduli di contenere classi, interfacce e altri moduli.
Caratteristiche del framework
Il framework incluso supporta:
• dizionari,
• dichiarazioni a librerie esterne (dll, dylib),
• compatibilità con i tipi di dato mwoaVisual Basic,
• supporto completo mwogUnicode,
• espressioni regolari,
• icone di notifica (su Windows),
• Windows registry (su Windows),
• thread comparativi,
• mwsglinguaggio di scripting integrato nei programmi RB attraverso RBScript,
• analisi sintattica e generazione mwtqXML,
• supporto applicazione console e service (solo per la Professional Edition),
• Apple events (su Mac),
• mwugContatti (su Mac),
• Keychain (su Mac),
• mwvqSpotlight (su Mac),
• mwvwQuickTime (su Mac e Windows),
• suono,
• mwwggrafica 3D Real Time,
• mwxacomunicazione seriale,
• mwygSSL (solo per la professional Edition),
La funzionalità framework può anche essere estesa con la creazione di mwaqplugin usando il mwagPlugin SDK mwawArchiviato il 7 luglio 2019 in Internet Archive. ufficiale. I plugin sono creati usando C/C++ con una varietà di compilatori supportati, inclusi mwbqXcode, Microsoft Visual Studio e mwbwGCC e possono supportare tutte le piattaforme supportate dal compilatore, fatta eccezione per iOS, come indicato nella https://docs.xojo.com/UserGuide:Plugins_SDK.
Formato file
Il formato del mwdgfile sorgente contiene dati per la disposizione di finestre e controlli. proprietario, anche se l'importazione e l'esportazione in formato XML sono supportate. Tutto il codice sorgente può essere contenuto in un file di progetto, ma è possibile anche avere classi/moduli in file separati nella stessa maniera in cui possono farlo la maggior parte degli altri linguaggi e dialetti. Xojo compila direttamente in mwdwcodice macchina per ogni piattaforma supportata. A partire da REALbasic 2006 Release 3, è possibile salvare il codice come testo, per consentire l'utilizzo di strumenti di controllo della versione quali Subversion o mweqCVS.
Edizioni dell'IDE
L'IDE Xojo può essere usato liberamente per imparare e sviluppare. Compilare applicazioni con Xojo richiede una licenza. Le versioni offerte dell'IDE comprendono:
• Xojo Pro permette di compilare per desktop, web, console e iOS, con una licenza che è valida per tre dispositivi
• Xojo Pro Plus estende la licenza a sei dispositivi per utente
Caratteristiche dell'IDE
L'IDE permette di costruire l'mwgqinterfaccia utente grafica dell'applicazione trascinando i controlli dalla mwggbarra degli strumenti alla finestra che li contiene. Il posizionamento dei controlli è agevolato dall'IDE, che permette di allinearli (sia in orizzontale che in verticale) e fornisce informazioni sulla distanza tra i controlli o tra un controllo e i bordi della finestra.
Come molti IDE moderni, l'editor di codice supporta strumenti personalizzabili come l'mwhqevidenziazione della sintassi, il mwhgcompletamento automatico e il mwhwrefactoring della struttura del codice. L'IDE include anche editor per menù e schemi di database, ed un visualizzatore per file multimediali come immagini, filmati o audio.
Xojo supporta la compilazione incrementale, attraverso cui il compilatore può ricompilare solo quelle parti di un progetto che sono state modificate. Per esempio, se soltanto il corpo di un metodo viene modificato, allora solo la voce del progetto contenente quel metodo necessita di essere ricompilata.
Codice di esempio
Questo è un esempio di sovraccarico dell'operatore (operator mwjaoverloading) per un'ipotetica classe mwjqComplex che permette di sommare un mwjgnumero reale con un mwjwnumero complesso, e di sommare due numeri complessi.
Function Operator_Add (rhs As Single) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs
ret.Imaginary = Self.Imaginary
Return ret
End Function
Function Operator_Add (rhs As Complex) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs.Real
ret.Imaginary = Self.Imaginary + rhs.Imaginary
Return ret
End Function
La stessa funzione può essere definita per accettare valori mwaq0Double. Il seguente codice mostra come usare la classe mwaq4Complex per sommare un numero reale con un numero complesso.
Dim First As New Complex (0, 1)
Dim Second As New Complex (1, 1)
Dim Sum As Complex
Sum = First + 5.0 + Second
// La somma sarà (6, 2)
Bibliografia
• mwavwTony Smith, RealBasic 2005 for Mac, Windows and Linux, su theregister.co.uk, The Register, 13 settembre 2005. URL consultato l'11 aprile 2006.
• mwav4Joe Barr, Review: REALBasic 2005 for Linux, su programming.linux.com, Linux.com, 4 agosto 2005. URL consultato l'11 aprile 2006 (archiviato dall'url originale il 29 marzo 2006).
• mwawaREAL Software, REALbasic Language Reference, su realsoftware.com, REAL Software, 6 maggio 2008. URL consultato il 6 maggio 2008.
• Tejkowski, Erick (2001). REALbasic for Dummies. Hungry Minds. ISBN 0-7645-0793-1.
Voci correlate
Linguaggi BASIC affini
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su Xojo
Collegamenti esterni